package Demo04;

import java.util.ArrayList;

/**
 * @ClassName Sort
 * @Description 上下文关键字：抽象数据类型/面程对象风格 --排序类
 * 对循环移动类中的moveStr集合进行排序 并对循环移动类中的moveStr进行刷新
 * @Author 李明忠
 * @Version 1.0
 */
@SuppressWarnings("all")
public class StrSort {
    /********************构造函数***********************/
    public StrSort() {
    }
    /******************** end ************************/

    /**
     * 使用接收参数防止创建其他类出现该类属性为空
     * @param moveStr
     */
    public void strSort(ArrayList<String> moveStr){
        //算法很简单使用冒泡排序对moveStr中的元素进行排序就可以了
        for (int i = 0; i < moveStr.size() - 1; i++) {
            for (int j = 0; j < moveStr.size() - 1 - i; j++) {
                if(moveStr.get(j).compareTo(moveStr.get(j+1)) > 0){
                    String temp = moveStr.get(j);
                    //替换集合中元素的相互覆盖只能使用set方法用于替换之前的数据
                    moveStr.set(j,moveStr.get(j+1));
                    moveStr.set(j + 1,temp);
                }
            }
        }
    }
}
